package by.yakusekmaxim.bookgid.dataaccess;

import java.util.List;

import javax.persistence.metamodel.SingularAttribute;

import by.yakusekmaxim.bookgid.dataaccess.util.UserAccountFilter;
import by.yakusekmaxim.bookgid.datamodel.UserAccount;

public interface UserAccountDao extends AbstractDao<Long, UserAccount> {

	Long getCount();

	Long getCount(final SingularAttribute<UserAccount, ?> attribute,
			Object value);

	List<UserAccount> getAllUserAccount(SingularAttribute<UserAccount, ?> attribute,
			boolean ascending, int startRecord, int pageSize);

	List<UserAccount> getAllUserAccount(SingularAttribute<UserAccount, ?> attribute, boolean ascending,
 int startRecord, int pageSize,
			UserAccountFilter filter);
}
